#ifndef VARIABLE_H
#define VARIABLE_H

bool variable_h_warnings(0); // global value for whether or not functions print their warnings to COUT, default 0

class variable
{
   public:
      typedef double decimal;
      
      int main_value;
      decimal deci_value;
      char type;
      
      variable();
      variable(int, int, char);
      
      variable(int);
      variable(char);
      variable(bool);
      variable(decimal);
      
      variable(variable & value);
      
      int get_int();
      char get_char();
      bool get_bool();
      decimal get_float();
      
      variable & operator= (const variable &);
      
      variable & operator+= (const variable &);
      variable & operator-= (const variable &);
      variable & operator*= (const variable &);
      variable & operator/= (const variable &);
      
      variable & operator+ (const variable &);
      variable & operator- (const variable &);
      variable & operator* (const variable &);
      variable & operator/ (const variable &);
      
      bool operator== (const variable &);
      bool operator!= (const variable &);
};

#endif
